setting.blade.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. @extends('layouts.base')
  2. @section('content')
  3. @section('title', trans('发票设置'))
  4. @include('public.admin.box-item')
  5. <style scoped>
  6. .el-form{
  7. width: 1200px;
  8. }
  9. .el-switch__core{
  10. background-color: #ccc;
  11. }
  12. .tips{
  13. font-size: 14px;
  14. color: rgb(232, 63, 63);
  15. line-height: 30px;
  16. }
  17. .fixed {
  18. width: calc(100% - 250px);
  19. padding: 7px;
  20. padding-top: 10px;
  21. position: fixed;
  22. bottom: 0px;
  23. z-index: 1999;
  24. box-sizing: border-box;
  25. box-shadow: 0px -1px 10px rgb(0 0 0 / 10%);
  26. margin-left: -14px;
  27. background-color: #fff;
  28. border-radius: 20px 20px 0 0;
  29. }
  30. .fixed_box {
  31. height: 60px;
  32. display: flex;
  33. justify-content: center;
  34. align-items: center;
  35. }
  36. body{
  37. background-color: #eff3f6;
  38. }
  39. .all{
  40. margin-bottom: 80px;
  41. }
  42. [v-cloak]{display: none;}
  43. </style>
  44. <div class="all">
  45. <div id="app" v-cloak>
  46. <box-item text="基础设置">
  47. <el-form ref="form" :model="form" label-width="260px">
  48. <el-form-item label="插件开关">
  49. <el-switch v-model="form.is_open" :active-value="1" :inactive-value="0"></el-switch>
  50. </el-form-item>
  51. <el-form-item label="发票类型">
  52. <el-checkbox-group v-model="form.invoice_type">
  53. <el-checkbox label="0">电子发票</el-checkbox>
  54. <el-checkbox label="1">纸质发票</el-checkbox>
  55. <el-checkbox label="2">专用发票</el-checkbox>
  56. </el-checkbox-group>
  57. </el-form-item>
  58. <el-form-item label="发票内容">
  59. <el-checkbox-group v-model="form.content">
  60. <el-checkbox label="0">商品明细</el-checkbox>
  61. <el-checkbox label="1">商品类型</el-checkbox>
  62. </el-checkbox-group>
  63. </el-form-item>
  64. <el-form-item label="开发票事件">
  65. <el-radio-group v-model="form.invoicing_event">
  66. <el-radio :label="0">订单付款后</el-radio>
  67. <el-radio :label="1">订单完成后</el-radio>
  68. </el-radio-group>
  69. </el-form-item>
  70. <el-form-item label="是否允许补开发票">
  71. <el-switch v-model="form.is_repair" :active-value="1" :inactive-value="0"></el-switch>
  72. </el-form-item>
  73. <el-form-item label="补开时长">
  74. <el-input placeholder="" v-model="form.repair_duration">
  75. <template slot="append">天</template>
  76. </el-input>
  77. </el-form-item>
  78. <el-form-item label="发票须知">
  79. <tinymceee v-model="form.notice"></tinymceee>
  80. </el-form-item>
  81. </el-form>
  82. </box-item>
  83. <box-item text="发票设置">
  84. <el-form :model="form" ref="ruleForm" label-width="260px" :rules="rules()">
  85. <el-form-item :label="item.label" v-for="(item,i) in labelList" :key="i" :prop="item.model">
  86. <template v-if="item.tips">
  87. <el-input :placeholder="'请输入'+item.label" v-model="form[item.model]" :disabled="disabled"></el-input>
  88. <div class="tips" >[[item.tips]]</div>
  89. </template>
  90. <el-input :placeholder="'请输入'+item.label" v-model="form[item.model]" v-else></el-input>
  91. </el-form-item>
  92. </el-form>
  93. </box-item>
  94. <div class="fixed">
  95. <div class="fixed_box">
  96. <el-button type="primary" @click="Submit('ruleForm')">提交</el-button>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. <script src="{{resource_get('static/yunshop/tinymce4.7.5/tinymce.min.js')}}"></script>
  102. @include('public.admin.tinymceee')
  103. <script>
  104. const vm = new Vue({
  105. el:"#app",
  106. delimiters: ['[[', ']]'],
  107. data(){
  108. return {
  109. form:{
  110. is_open:0,
  111. invoice_type:[],
  112. content:[],
  113. invoicing_event:1,
  114. is_repair:1,
  115. repair_duration:"",
  116. msg:"",
  117. appid:"",
  118. app_secret:"",
  119. enterprise_name:"",
  120. taxpayer_number:"",
  121. enterprise_equipment:"",
  122. address:"",
  123. mobile:"",
  124. bank:"",
  125. bank_admin:"",
  126. billing_payee:"",
  127. invoice_reviewer:"",
  128. invoice_drawer:""
  129. },
  130. disabled:false,
  131. labelList:[
  132. {label:"App_Id",model:"appid"},
  133. {label:"App_Secret",model:"app_secret"},
  134. {label:"企业名称",model:"enterprise_name",tips:"注:企业名称提交后不能进行修改,提交前请确认是否填写正确"},
  135. {label:"纳税人识别号",model:"taxpayer_number",tips:"注:纳税人识别号提交后不能进行修改,提交前请确认是否填写正确"},
  136. {label:"企业税控设备",model:"enterprise_equipment"},
  137. {label:"地址",model:"address"},
  138. {label:"电话",model:"mobile"},
  139. {label:"开户行",model:"bank"},
  140. {label:"开户行账号",model:"bank_admin"},
  141. {label:"开票收款人",model:"billing_payee"},
  142. {label:"发票复核人",model:"invoice_reviewer"},
  143. {label:"发票开票人",model:"invoice_drawer"},
  144. // {label:"发送人邮箱",model:"send_email"},
  145. ]
  146. }
  147. },
  148. created(){
  149. this.getdata();
  150. },
  151. methods:{
  152. rules(message){
  153. let rules = {};
  154. this.labelList.forEach(item=>{
  155. rules[item.model] = [{ required: true, message: '请输入'+ item.label, trigger: 'blur' },]
  156. })
  157. return rules
  158. },
  159. getdata(){
  160. this.$http.get("{!! yzWebFullUrl('plugin.invoice.admin.setting.set') !!}").then(({data})=>{
  161. if (data.result==1) {
  162. if(data.data){
  163. this.form = data.data;
  164. this.disabled = true;
  165. };
  166. if (this.form.enterprise_name == "" || this.form.taxpayer_number == "") {
  167. this.disabled = false;
  168. }
  169. }
  170. else this.$message.error(data.msg);
  171. })
  172. },
  173. settingSet(){
  174. const loading = this.$loading({
  175. lock: true,
  176. text: '正在保存中',
  177. spinner: 'el-icon-loading',
  178. background: 'rgba(0, 0, 0, 0.7)'
  179. });
  180. this.$http.post("{!! yzWebFullUrl('plugin.invoice.admin.setting.set') !!}",{data:this.form}).then(({data:{result,msg}})=>{
  181. loading.close();
  182. if(result==1) {
  183. this.$message.success("已保存");
  184. this.getdata();
  185. }else this.$message.error(msg);
  186. })
  187. },
  188. confirmSet(){
  189. this.$confirm('企业名称和纳税人识别号提交修改后将不能修改。是否确认保存?', '提示', {
  190. confirmButtonText: '确定',
  191. cancelButtonText: '取消',
  192. type: 'warning'
  193. })
  194. .then(() => {this.settingSet()})
  195. .catch(() => {})
  196. },
  197. Submit(formName){
  198. this.$refs[formName].validate((valid) => {
  199. if (valid) {
  200. if (!this.disabled) this.confirmSet()
  201. else this.settingSet()
  202. } else {
  203. this.$message.error("发票设置的内容不能为空");
  204. return false;
  205. }
  206. });
  207. },
  208. }
  209. })
  210. </script>
  211. @endsection('content')