6040d85c5cbb7c4eeeb4ecee17793cd7.php 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746
  1. <?php /*a:2:{s:54:"D:\phpEnv\www\SCM-API\app\admin\view\develop\crud.html";i:1750736984;s:52:"D:\phpEnv\www\SCM-API\app\admin\view\layout\vue.html";i:1750736984;}*/ ?>
  2. <!DOCTYPE html>
  3. <html <?php if($config['elementUi']['dark']): ?>class="dark"<?php endif; ?>>
  4. <head>
  5. <meta charset="utf-8">
  6. <title><?php echo site_config('basic.sitename'); ?></title>
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
  8. <meta name="renderer" content="webkit">
  9. <meta name="referrer" content="never">
  10. <meta name="robots" content="noindex, nofollow">
  11. <link rel="shortcut icon" href="<?php echo request()->domain(); ?>/favicon.ico" />
  12. <link rel="stylesheet" href="<?php echo request()->domain(); ?>/assets/css/element-plus.css" />
  13. <link rel="stylesheet" href="<?php echo request()->domain(); ?>/assets/css/theme/dark.css" />
  14. <link rel="stylesheet" href="<?php echo request()->domain(); ?>/assets/libs/font-awesome/css/font-awesome.min.css" />
  15. <link rel="stylesheet" href="<?php echo request()->domain(); ?>/assets/css/yunqi.css" />
  16. <style>
  17. .checklabel{
  18. position: relative;top: 2px;cursor: pointer;
  19. }
  20. .checklabel input{
  21. border: var(--el-checkbox-input-border);
  22. }
  23. .checklabel span{
  24. position: relative;top:-2px;left: 5px;
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <div id="app">
  30. <el-container id="container" style="display: none;">
  31. <el-main style="padding: 0px;border-radius:4px;" id="mainScrollbar">
  32. <el-scrollbar>
  33. <el-card shadow="never">
  34. <el-form :model="crudForm" label-width="120px">
  35. <el-row :gutter="20">
  36. <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
  37. <el-form-item label="<?php echo __('数据表'); ?>:">
  38. <select-page url="develop/getTable" key-field="name" label-field="title" @change="changeTable"></select-page>
  39. </el-form-item>
  40. </el-col>
  41. <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
  42. <el-form-item label="<?php echo __('控制器'); ?>:">
  43. <el-input :disabled="!crudForm.table" placeholder="<?php echo __('请输入控制器'); ?>" v-model="crudForm.controller"></el-input>
  44. </el-form-item>
  45. </el-col>
  46. <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
  47. <el-form-item label="<?php echo __('数据模型'); ?>:">
  48. <el-input :disabled="!crudForm.table" placeholder="<?php echo __('请输入数据模型'); ?>" v-model="crudForm.model"></el-input>
  49. </el-form-item>
  50. </el-col>
  51. <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
  52. <el-form-item label="<?php echo __('代码风格'); ?>:">
  53. <el-radio-group v-model="crudForm.reduced">
  54. <el-radio :label="true">干净简洁版</el-radio>
  55. <el-radio :label="false">带功能描述且注释版</el-radio>
  56. </el-radio-group>
  57. </el-form-item>
  58. </el-col>
  59. <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="crudForm.actionList">
  60. <el-form-item label="<?php echo __('操作功能'); ?>:">
  61. <field-list @change="changeAction" :label="[__('方法名'),__('功能描述')]" :value="crudForm.actionList"></field-list>
  62. </el-form-item>
  63. </el-col>
  64. </el-row>
  65. <el-form-item>
  66. <el-divider>
  67. <el-checkbox-group v-model="actions">
  68. <el-checkbox label="table"><span style="font-weight: bolder;"><?php echo __('配置表格'); ?></span></el-checkbox>
  69. </el-checkbox-group>
  70. </el-divider>
  71. </el-form-item>
  72. <template v-if="crudForm.table && inArray(actions,'table')">
  73. <el-form-item label="<?php echo __('表格列表'); ?>:">
  74. <el-table v-if="tableData" :data="tableData" border style="width: 100%">
  75. <el-table-column prop="field" label="<?php echo __('字段'); ?>" width="150" fixed="left"></el-table-column>
  76. <el-table-column label="<?php echo __('标题'); ?>" width="150">
  77. <template #default="{row}">
  78. <el-input v-model="row.title"></el-input>
  79. </template>
  80. </el-table-column>
  81. <el-table-column label="<?php echo __('展示状态'); ?>" width="150">
  82. <template #default="{row}">
  83. <el-select v-model="row.visible" @change="parseSearchList(row)">
  84. <el-option label="展示" :value="true"></el-option>
  85. <el-option label="不展示" value="none"></el-option>
  86. <el-option label="展示关联表" value="relation"></el-option>
  87. <el-option label="默认隐藏" :value="false"></el-option>
  88. </el-select>
  89. </template>
  90. </el-table-column>
  91. <el-table-column label="<?php echo __('展示样式'); ?>" width="150">
  92. <template #default="{row}">
  93. <el-select v-model="row.formatter" @change="parseFields(row)" v-if="row.visible!='none'">
  94. <el-option v-for="(label,key) in formatter" :label="label" :key="key" :value="key"></el-option>
  95. </el-select>
  96. </template>
  97. </el-table-column>
  98. <el-table-column label="<?php echo __('过滤方式'); ?>" width="300">
  99. <template #default="{row}">
  100. <el-input v-model="row.operate" v-if="row.visible!='none'">
  101. <template #append>
  102. <el-button size="small" type="primary" @click="showOperate(row)">编辑</el-button>
  103. </template>
  104. </el-input>
  105. </template>
  106. </el-table-column>
  107. <el-table-column label="<?php echo __('选择项'); ?>" width="300">
  108. <template #default="{row}">
  109. <el-input v-model="row.searchList" v-if="row.visible!='none'">
  110. <template #append>
  111. <el-button size="small" type="primary" @click="showSearchList(row)">编辑</el-button>
  112. </template>
  113. </el-input>
  114. </template>
  115. </el-table-column>
  116. <el-table-column label="<?php echo __('关联表'); ?>" width="300">
  117. <template #default="{row}">
  118. <el-input v-model="row.relation" v-if="row.visible=='relation'">
  119. <template #append>
  120. <el-button size="small" type="primary" @click="showRelation(row)">编辑</el-button>
  121. </template>
  122. </el-input>
  123. </template>
  124. </el-table-column>
  125. <el-table-column label="<?php echo __('允许排序'); ?>" width="100">
  126. <template #default="{row}">
  127. <el-checkbox-group v-model="row.sortable" v-if="row.visible!='none'">
  128. <el-checkbox label="是"></el-checkbox>
  129. </el-checkbox-group>
  130. </template>
  131. </el-table-column>
  132. <el-table-column label="<?php echo __('快速搜索'); ?>" width="100">
  133. <template #default="{row}">
  134. <el-checkbox-group v-model="row.search" v-if="row.visible!='none'">
  135. <el-checkbox label="是"></el-checkbox>
  136. </el-checkbox-group>
  137. </template>
  138. </el-table-column>
  139. <el-table-column label="<?php echo __('回收站'); ?>" width="100" v-if="crudForm.recyclebin">
  140. <template #default="{row}">
  141. <el-checkbox-group v-model="row.recyclebin" v-if="row.visible!='none'">
  142. <el-checkbox label="是"></el-checkbox>
  143. </el-checkbox-group>
  144. </template>
  145. </el-table-column>
  146. </el-table>
  147. </el-form-item>
  148. <el-row :gutter="20">
  149. <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
  150. <el-form-item label="<?php echo __('顶部分栏'); ?>:">
  151. <el-select v-model="crudForm.tabs" style="width: 100%">
  152. <el-option label="不分栏显示" value=""></el-option>
  153. <template v-for="xtable in tableData" :key="xtable.field">
  154. <el-option v-if="xtable.searchList" :label="xtable.title" :value="xtable.field"></el-option>
  155. </template>
  156. </el-select>
  157. </el-form-item>
  158. </el-col>
  159. <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
  160. <el-form-item label="<?php echo __('不要分页'); ?>:">
  161. <label class="checklabel">
  162. <input type="checkbox" v-model="crudForm.pagination"/>
  163. <span><?php echo __('是'); ?></span>
  164. </label>
  165. </el-form-item>
  166. </el-col>
  167. <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
  168. <el-form-item label="<?php echo __('展示统计'); ?>:">
  169. <label class="checklabel">
  170. <input type="checkbox" v-model="crudForm.summary"/>
  171. <span><?php echo __('是'); ?></span>
  172. </label>
  173. </el-form-item>
  174. </el-col>
  175. <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
  176. <el-form-item label="<?php echo __('展示扩展'); ?>:">
  177. <label class="checklabel">
  178. <input type="checkbox" v-model="crudForm.expand"/>
  179. <span><?php echo __('是'); ?></span>
  180. </label>
  181. </el-form-item>
  182. </el-col>
  183. <template v-if="havaPid()">
  184. <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
  185. <el-form-item label="<?php echo __('树形表格'); ?>:">
  186. <label class="checklabel">
  187. <input type="checkbox" v-model="crudForm.isTree"/>
  188. <span><?php echo __('是'); ?></span>
  189. </label>
  190. </el-form-item>
  191. </el-col>
  192. <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" v-if="crudForm.isTree">
  193. <el-form-item label="<?php echo __('树形表格标题'); ?>:">
  194. <el-select v-model="crudForm.treeTitle" style="width: 100%">
  195. <template v-for="xtable in tableData" :key="xtable.field">
  196. <el-option :label="xtable.title" :value="xtable.field"></el-option>
  197. </template>
  198. </el-select>
  199. </el-form-item>
  200. </el-col>
  201. </template>
  202. </el-row>
  203. </template>
  204. <el-form-item>
  205. <el-divider>
  206. <el-checkbox-group v-model="actions">
  207. <el-checkbox label="form"><span style="font-weight: bolder;"><?php echo __('配置表单'); ?></span></el-checkbox>
  208. </el-checkbox-group>
  209. </el-divider>
  210. </el-form-item>
  211. <template v-if="crudForm.table && inArray(actions,'form')">
  212. <el-form-item label="<?php echo __('表单列表'); ?>:">
  213. <el-table v-if="tableData" :data="tableData" border style="width: 100%">
  214. <el-table-column prop="field" label="<?php echo __('字段'); ?>" width="150" fixed="left"></el-table-column>
  215. <el-table-column label="<?php echo __('标题'); ?>" width="150">
  216. <template #default="{row}">
  217. <el-input v-model="row.title"></el-input>
  218. </template>
  219. </el-table-column>
  220. <el-table-column label="<?php echo __('表单'); ?>" width="300">
  221. <template #default="{row}">
  222. <el-input v-model="row.edit">
  223. <template #append>
  224. <el-button size="small" type="primary" @click="showFormDialog(row)">编辑</el-button>
  225. </template>
  226. </el-input>
  227. </template>
  228. </el-table-column>
  229. <el-table-column label="<?php echo __('验证'); ?>" width="300">
  230. <template #default="{row}">
  231. <el-input v-model="row.rules" placeholder="多项验证用“;”隔开" v-if="isShowEdit(row)"></el-input>
  232. </template>
  233. </el-table-column>
  234. <el-table-column label="<?php echo __('选择项'); ?>" width="300">
  235. <template #default="{row}">
  236. <el-input v-model="row.searchList" v-if="isShowEdit(row)">
  237. <template #append>
  238. <el-button size="small" type="primary" @click="showSearchList(row)">编辑</el-button>
  239. </template>
  240. </el-input>
  241. </template>
  242. </el-table-column>
  243. </el-table>
  244. </el-form-item>
  245. <template v-if="havaPid()">
  246. <el-row>
  247. <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
  248. <el-form-item label="<?php echo __('树形结构'); ?>:">
  249. <label class="checklabel">
  250. <input type="checkbox" v-model="crudForm.isTree"/>
  251. <span><?php echo __('是'); ?></span>
  252. </label>
  253. </el-form-item>
  254. </el-col>
  255. <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" v-if="crudForm.isTree">
  256. <el-form-item label="<?php echo __('树形结构标题'); ?>:">
  257. <el-select v-model="crudForm.treeTitle" style="width: 100%">
  258. <template v-for="xtable in tableData" :key="xtable.field">
  259. <el-option :label="xtable.title" :value="xtable.field"></el-option>
  260. </template>
  261. </el-select>
  262. </el-form-item>
  263. </el-col>
  264. </el-row>
  265. </template>
  266. </template>
  267. <el-form-item>
  268. <el-button :disabled="!crudForm.table || !crudForm.controller || !crudForm.model" type="primary" @click="submit('code')"><i class="fa fa-code"></i>&nbsp;生成代码</el-button>
  269. <el-button :disabled="!crudForm.table || !crudForm.controller || !crudForm.model" type="primary" @click="submit('file')"><i class="fa fa-file"></i>&nbsp;生成文件</el-button>
  270. <el-button :disabled="!crudForm.table || !crudForm.controller || !crudForm.model" type="danger" @click="clear"><i class="fa fa-remove"></i>&nbsp;清除文件</el-button>
  271. </el-form-item>
  272. </el-form>
  273. </el-card>
  274. <el-dialog
  275. v-model="operateDialog.show"
  276. title="<?php echo __('编辑过滤方式'); ?>"
  277. width="800">
  278. <el-scrollbar height="400px">
  279. <el-form label-width="100px">
  280. <el-form-item label="<?php echo __('过滤简写'); ?>:">
  281. <el-select v-model="operateDialog.data.short" @change="changeShort('table')" style="width:100%">
  282. <el-option v-for="item in short.table" :key="item.key" :value="item.key">
  283. <span>{{item.key}}</span>
  284. <span style="float: right;font-size: 13px;color: #a2a2a2">{{item.label}}</span>
  285. </el-option>
  286. </el-select>
  287. </el-form-item>
  288. <el-form-item label="<?php echo __('表单类型'); ?>:">
  289. <el-select v-model="operateDialog.data.form" @change="changeForm('table')" style="width: 100%">
  290. <el-option v-for="item in formtype.form" :key="item.key" :value="item.key">
  291. <span>{{item.key}}</span>
  292. <span style="float: right;font-size: 13px;color: #a2a2a2">{{item.label}}</span>
  293. </el-option>
  294. </el-select>
  295. </el-form-item>
  296. <template v-if="operateDialog.data.form=='input'">
  297. <el-form-item label="<?php echo __('文本类型'); ?>:">
  298. <el-select v-model="operateDialog.data.type" style="width: 100%">
  299. <el-option key="text" value="text">
  300. <span>text</span>
  301. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('输入文本'); ?></span>
  302. </el-option>
  303. <el-option key="number" value="number">
  304. <span>number</span>
  305. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('输入数字'); ?></span>
  306. </el-option>
  307. <el-option key="password" value="password">
  308. <span>password</span>
  309. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('输入密码'); ?></span>
  310. </el-option>
  311. <el-option key="color" value="color">
  312. <span>color</span>
  313. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('输入颜色'); ?></span>
  314. </el-option>
  315. </el-select>
  316. </el-form-item>
  317. </template>
  318. <template v-if="operateDialog.data.form=='date-picker'">
  319. <el-form-item label="<?php echo __('日期类型'); ?>:">
  320. <el-select v-model="operateDialog.data.type" style="width: 100%" @change="changeForm('table')">
  321. <el-option key="date" value="date">
  322. <span>date</span>
  323. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('选择日期'); ?></span>
  324. </el-option>
  325. <el-option key="datetime" value="datetime">
  326. <span>datetime</span>
  327. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('选择日期+时间'); ?></span>
  328. </el-option>
  329. <el-option key="daterange" value="daterange">
  330. <span>daterange</span>
  331. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('选择日期区间'); ?></span>
  332. </el-option>
  333. </el-select>
  334. </el-form-item>
  335. </template>
  336. <template v-if="operateDialog.data.form=='time-picker'">
  337. <el-form-item label="<?php echo __('时间类型'); ?>:">
  338. <el-select v-model="operateDialog.data.type" style="width: 100%" @change="changeForm('table')">
  339. <el-option key="time" value="time">
  340. <span>time</span>
  341. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('选择时间'); ?></span>
  342. </el-option>
  343. <el-option key="timerange" value="timerange">
  344. <span>timerange</span>
  345. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('选择时间区间'); ?></span>
  346. </el-option>
  347. </el-select>
  348. </el-form-item>
  349. </template>
  350. <template v-if="operateDialog.data.form=='input'">
  351. <el-form-item label="<?php echo __('前置内容'); ?>:">
  352. <el-input v-model="operateDialog.data.prepend"></el-input>
  353. </el-form-item>
  354. <el-form-item label="<?php echo __('后置内容'); ?>:">
  355. <el-input v-model="operateDialog.data.append"></el-input>
  356. </el-form-item>
  357. </template>
  358. <template v-if="operateDialog.searchList && (operateDialog.data.form=='checkbox' || operateDialog.data.form=='radio' || operateDialog.data.form=='select')">
  359. <el-form-item label="<?php echo __('选择项'); ?>:">
  360. <field-list field="operate" @change="changeSearchList" :value="operateDialog.searchList"></field-list>
  361. </el-form-item>
  362. </template>
  363. <template v-if="inArray(['input','select','date-picker','time-picker','cascader','selectpage'],operateDialog.data.form)">
  364. <el-form-item label="<?php echo __('提示文字'); ?>:">
  365. <el-input v-model="operateDialog.data.placeholder" placeholder="<?php echo __('不填默认显示为字段标题'); ?>"></el-input>
  366. </el-form-item>
  367. </template>
  368. <template v-if="operateDialog.data.form!='hidden'">
  369. <el-form-item label="<?php echo __('表单尺寸'); ?>:">
  370. <el-select v-model="operateDialog.data.size" style="width: 100%">
  371. <el-option label="<?php echo __('大'); ?>" key="large" value="large"></el-option>
  372. <el-option label="<?php echo __('中'); ?>" key="default" value="default"></el-option>
  373. <el-option label="<?php echo __('小'); ?>" key="small" value="small"></el-option>
  374. </el-select>
  375. </el-form-item>
  376. </template>
  377. <template v-if="operateDialog.data.filter!='IS NULL' && operateDialog.data.filter!='IS NOT NULL'">
  378. <el-form-item label="<?php echo __('默认值'); ?>:">
  379. <el-input v-model="operateDialog.data.value"></el-input>
  380. </el-form-item>
  381. </template>
  382. <template v-if="operateDialog.data.form=='cascader'">
  383. <el-form-item label="<?php echo __('数据获取方式'); ?>:">
  384. <el-select v-model="operateDialog.data.cascaderType" style="width: 100%">
  385. <el-option label="<?php echo __('JSON数据'); ?>" key="options" value="options"></el-option>
  386. <el-option label="<?php echo __('网络获取'); ?>" key="url" value="url"></el-option>
  387. </el-select>
  388. </el-form-item>
  389. <template v-if="operateDialog.data.cascaderType=='url'">
  390. <el-form-item label="<?php echo __('请求地址'); ?>:">
  391. <el-input v-model="operateDialog.data.url"></el-input>
  392. </el-form-item>
  393. <el-form-item label="<?php echo __('获取级数'); ?>:">
  394. <el-input v-model="operateDialog.data.level"></el-input>
  395. </el-form-item>
  396. </template>
  397. <template v-if="operateDialog.data.cascaderType=='options'">
  398. <el-form-item label="<?php echo __('JSON树'); ?>:">
  399. <el-input type="textarea" rows="4" v-model="operateDialog.data.options"></el-input>
  400. </el-form-item>
  401. </template>
  402. </template>
  403. <template v-if="operateDialog.data.form=='selectpage'">
  404. <el-form-item label="<?php echo __('请求地址'); ?>:">
  405. <el-input v-model="operateDialog.data.url"></el-input>
  406. </el-form-item>
  407. <el-form-item label="<?php echo __('存储字段'); ?>:">
  408. <el-input v-model="operateDialog.data.keyField"></el-input>
  409. </el-form-item>
  410. <el-form-item label="<?php echo __('显示字段'); ?>:">
  411. <el-input v-model="operateDialog.data.labelField"></el-input>
  412. </el-form-item>
  413. </template>
  414. <template v-if="operateDialog.data.form=='select' || operateDialog.data.form=='cascader' || operateDialog.data.form=='selectpage'">
  415. <el-form-item label="<?php echo __('是否多选'); ?>:">
  416. <el-select v-model="operateDialog.data.multiple" style="width: 100%" @change="changeForm('table')">
  417. <el-option label="<?php echo __('是'); ?>" :key="1" :value="1"></el-option>
  418. <el-option label="<?php echo __('否'); ?>" :key="0" :value="0"></el-option>
  419. </el-select>
  420. </el-form-item>
  421. </template>
  422. <el-form-item label="<?php echo __('过滤方式'); ?>:">
  423. <el-select v-model="operateDialog.data.filter" style="width: 100%">
  424. <el-option v-for="item in operateDialog.filter" :key="item.key" :value="item.key">
  425. <span>{{item.key}}</span>
  426. <span style="float: right;font-size: 13px;color: #a2a2a2">{{item.label}}</span>
  427. </el-option>
  428. </el-select>
  429. </el-form-item>
  430. </el-form>
  431. </el-scrollbar>
  432. <template #footer>
  433. <span class="dialog-footer">
  434. <el-button type="info" @click="operateDialog.show = false"><?php echo __('取消'); ?></el-button>
  435. <el-button type="primary" @click="confirmFilter"><?php echo __('确定'); ?></el-button>
  436. </span>
  437. </template>
  438. </el-dialog>
  439. <el-dialog
  440. v-model="searchListDialog.show"
  441. title="<?php echo __('编辑选择项'); ?>"
  442. width="800">
  443. <el-scrollbar height="400px">
  444. <el-form label-width="100px">
  445. <template v-if="searchListDialog.searchList">
  446. <el-form-item label="<?php echo __('选择项'); ?>:">
  447. <field-list field="searchlist" @change="changeSearchList" :value="searchListDialog.searchList"></field-list>
  448. </el-form-item>
  449. </template>
  450. </el-form>
  451. </el-scrollbar>
  452. <template #footer>
  453. <span class="dialog-footer">
  454. <el-button type="info" @click="searchListDialog.show = false"><?php echo __('取消'); ?></el-button>
  455. <el-button type="primary" @click="confirmSearchList"><?php echo __('确定'); ?></el-button>
  456. </span>
  457. </template>
  458. </el-dialog>
  459. <el-dialog
  460. v-model="relationDialog.show"
  461. title="<?php echo __('编辑关联表'); ?>"
  462. width="800">
  463. <el-scrollbar height="400px">
  464. <el-form label-width="100px">
  465. <el-form-item label="<?php echo __('关联表'); ?>:">
  466. <select-page url="develop/getTable" key-field="name" label-field="title" @change="changeRelationTable"></select-page>
  467. </el-form-item>
  468. <el-form-item label="<?php echo __('关联方式'); ?>:">
  469. <el-select v-model="relationDialog.data.ralationType" style="width: 100%">
  470. <el-option label="<?php echo __('一对一关联'); ?>" key="one" value="one"></el-option>
  471. <el-option label="<?php echo __('一对多关联'); ?>" key="many" value="many"></el-option>
  472. </el-select>
  473. </el-form-item>
  474. <el-form-item label="<?php echo __('关联字段'); ?>:">
  475. <el-select v-model="relationDialog.data.relationField" style="width: 100%">
  476. <el-option :label="field.name" :key="field.name" :value="field.name" v-for="field in relationDialog.fields"></el-option>
  477. </el-select>
  478. </el-form-item>
  479. <el-form-item label="<?php echo __('展示字段'); ?>:">
  480. <el-select v-model="relationDialog.data.showField" style="width: 100%">
  481. <el-option :label="field.name" :key="field.name" :value="field.name" v-for="field in relationDialog.fields"></el-option>
  482. </el-select>
  483. </el-form-item>
  484. <el-form-item label="<?php echo __('过滤字段'); ?>:">
  485. <el-select v-model="relationDialog.data.filterField" style="width: 100%">
  486. <el-option :label="field.name" :key="field.name" :value="field.name" v-for="field in relationDialog.fields"></el-option>
  487. </el-select>
  488. </el-form-item>
  489. </el-form>
  490. </el-scrollbar>
  491. <template #footer>
  492. <span class="dialog-footer">
  493. <el-button type="info" @click="relationDialog.show = false"><?php echo __('取消'); ?></el-button>
  494. <el-button type="primary" @click="confirmRelation"><?php echo __('确定'); ?></el-button>
  495. </span>
  496. </template>
  497. </el-dialog>
  498. <el-dialog
  499. v-model="formDialog.show"
  500. title="<?php echo __('编辑输入类型'); ?>"
  501. width="800">
  502. <el-scrollbar height="400px">
  503. <el-form label-width="100px">
  504. <el-form-item label="<?php echo __('表单简写'); ?>:">
  505. <el-select v-model="formDialog.data.short" @change="changeShort('form')" style="width:100%">
  506. <el-option v-for="item in short.form" :key="item.key" :value="item.key">
  507. <span>{{item.key}}</span>
  508. <span style="float: right;font-size: 13px;color: #a2a2a2">{{item.label}}</span>
  509. </el-option>
  510. </el-select>
  511. </el-form-item>
  512. <el-form-item label="<?php echo __('表单类型'); ?>:">
  513. <el-select v-model="formDialog.data.form" @change="changeForm('form')" style="width: 100%">
  514. <el-option v-for="item in formtype.form" :key="item.key" :value="item.key">
  515. <span>{{item.key}}</span>
  516. <span style="float: right;font-size: 13px;color: #a2a2a2">{{item.label}}</span>
  517. </el-option>
  518. </el-select>
  519. </el-form-item>
  520. <template v-if="formDialog.data.form=='input'">
  521. <el-form-item label="<?php echo __('文本类型'); ?>:">
  522. <el-select v-model="formDialog.data.type" style="width: 100%">
  523. <el-option key="text" value="text">
  524. <span>text</span>
  525. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('单行文本'); ?></span>
  526. </el-option>
  527. <el-option key="textarea" value="textarea">
  528. <span>textarea</span>
  529. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('多行文本'); ?></span>
  530. </el-option>
  531. <el-option key="hidden" value="hidden">
  532. <span>hidden</span>
  533. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('隐藏输入'); ?></span>
  534. </el-option>
  535. <el-option key="number" value="number">
  536. <span>number</span>
  537. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('输入数字'); ?></span>
  538. </el-option>
  539. <el-option key="password" value="password">
  540. <span>password</span>
  541. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('输入密码'); ?></span>
  542. </el-option>
  543. <el-option key="color" value="color">
  544. <span>color</span>
  545. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('输入颜色'); ?></span>
  546. </el-option>
  547. </el-select>
  548. </el-form-item>
  549. </template>
  550. <template v-if="formDialog.data.form=='date-picker'">
  551. <el-form-item label="<?php echo __('日期类型'); ?>:">
  552. <el-select v-model="formDialog.data.type" style="width: 100%" @change="changeForm('form')">
  553. <el-option key="date" value="date">
  554. <span>date</span>
  555. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('选择日期'); ?></span>
  556. </el-option>
  557. <el-option key="datetime" value="datetime">
  558. <span>datetime</span>
  559. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('选择日期+时间'); ?></span>
  560. </el-option>
  561. <el-option key="daterange" value="daterange">
  562. <span>daterange</span>
  563. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('选择日期区间'); ?></span>
  564. </el-option>
  565. </el-select>
  566. </el-form-item>
  567. </template>
  568. <template v-if="formDialog.data.form=='time-picker'">
  569. <el-form-item label="<?php echo __('时间类型'); ?>:">
  570. <el-select v-model="formDialog.data.type" style="width: 100%" @change="changeForm('form')">
  571. <el-option key="time" value="time">
  572. <span>time</span>
  573. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('选择时间'); ?></span>
  574. </el-option>
  575. <el-option key="timerange" value="timerange">
  576. <span>timerange</span>
  577. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('选择时间区间'); ?></span>
  578. </el-option>
  579. </el-select>
  580. </el-form-item>
  581. </template>
  582. <template v-if="formDialog.data.form=='input' && formDialog.data.type!='hidden' && formDialog.data.type!='textarea'">
  583. <el-form-item label="<?php echo __('前置内容'); ?>:">
  584. <el-input v-model="formDialog.data.prepend"></el-input>
  585. </el-form-item>
  586. <el-form-item label="<?php echo __('后置内容'); ?>:">
  587. <el-input v-model="formDialog.data.append"></el-input>
  588. </el-form-item>
  589. <el-form-item label="<?php echo __('只读'); ?>:">
  590. <el-switch v-model="formDialog.data.readonly" :active-value="1" :inactive-value="0"></el-switch>
  591. </el-form-item>
  592. </template>
  593. <template v-if="formDialog.data.form=='input' && formDialog.data.type=='textarea'">
  594. <el-form-item label="<?php echo __('显示行数'); ?>:">
  595. <el-input v-model="formDialog.data.rows" type="number"></el-input>
  596. </el-form-item>
  597. </template>
  598. <template v-if="formDialog.data.form=='attachment' || formDialog.data.form=='files'">
  599. <el-form-item label="<?php echo __('允许上传数量'); ?>:">
  600. <el-input v-model="formDialog.data.limit" type="number"></el-input>
  601. </el-form-item>
  602. </template>
  603. <template v-if="formDialog.data.form=='files'">
  604. <el-form-item label="<?php echo __('支持文件类型'); ?>:">
  605. <el-input v-model="formDialog.data.accept"></el-input>
  606. </el-form-item>
  607. <el-form-item label="<?php echo __('存储方式'); ?>:">
  608. <el-select v-model="formDialog.data.disks" style="width: 100%">
  609. <el-option key="local_public" value="local_public">
  610. <span>local_public</span>
  611. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('本地开放文件'); ?></span>
  612. </el-option>
  613. <el-option key="local_private" value="local_private">
  614. <span>local_private</span>
  615. <span style="float: right;font-size: 13px;color: #a2a2a2"><?php echo __('本地私有文件'); ?></span>
  616. </el-option>
  617. </el-select>
  618. </el-form-item>
  619. </template>
  620. <template v-if="formDialog.data.form=='fieldlist'">
  621. <el-form-item label="<?php echo __('项目标题'); ?>:">
  622. <el-input v-model="formDialog.data.label"></el-input>
  623. </el-form-item>
  624. </template>
  625. <template v-if="formDialog.searchList && (formDialog.data.form=='switch' || formDialog.data.form=='checkbox' || formDialog.data.form=='radio' || formDialog.data.form=='select')">
  626. <el-form-item label="<?php echo __('选择项'); ?>:">
  627. <field-list field="form" @change="changeSearchList" :value="formDialog.searchList"></field-list>
  628. </el-form-item>
  629. </template>
  630. <template v-if="inArray(['input','select','date-picker','time-picker','cascader','selectpage'],formDialog.data.form)">
  631. <el-form-item label="<?php echo __('提示文字'); ?>:">
  632. <el-input v-model="formDialog.data.placeholder" placeholder="<?php echo __('不填默认显示为字段标题'); ?>"></el-input>
  633. </el-form-item>
  634. </template>
  635. <template v-if="formDialog.data.form=='editor'">
  636. <el-form-item label="<?php echo __('宽度'); ?>:">
  637. <el-input v-model="formDialog.data.width" placeholder="<?php echo __('支持数字,像素,百分比如:300,300px,100%'); ?>"></el-input>
  638. </el-form-item>
  639. <el-form-item label="<?php echo __('高度'); ?>:">
  640. <el-input v-model="formDialog.data.height" placeholder="<?php echo __('支持数字,像素:300,300px'); ?>"></el-input>
  641. </el-form-item>
  642. </template>
  643. <template v-if="formDialog.data.form!='slot'">
  644. <el-form-item label="<?php echo __('默认值'); ?>:">
  645. <el-input v-model="formDialog.data.value"></el-input>
  646. </el-form-item>
  647. </template>
  648. <template v-if="formDialog.data.form=='cascader'">
  649. <el-form-item label="<?php echo __('数据获取方式'); ?>:">
  650. <el-select v-model="formDialog.data.cascaderType" style="width: 100%">
  651. <el-option label="<?php echo __('JSON数据'); ?>" key="options" value="options"></el-option>
  652. <el-option label="<?php echo __('网络获取'); ?>" key="url" value="url"></el-option>
  653. </el-select>
  654. </el-form-item>
  655. <template v-if="formDialog.data.cascaderType=='url'">
  656. <el-form-item label="<?php echo __('请求地址'); ?>:">
  657. <el-input v-model="formDialog.data.url"></el-input>
  658. </el-form-item>
  659. <el-form-item label="<?php echo __('获取级数'); ?>:">
  660. <el-input v-model="formDialog.data.level"></el-input>
  661. </el-form-item>
  662. </template>
  663. <template v-if="formDialog.data.cascaderType=='options'">
  664. <el-form-item label="<?php echo __('JSON树'); ?>:">
  665. <el-input type="textarea" rows="4" v-model="formDialog.data.options"></el-input>
  666. </el-form-item>
  667. </template>
  668. </template>
  669. <template v-if="formDialog.data.form=='selectpage'">
  670. <el-form-item label="<?php echo __('请求地址'); ?>:">
  671. <el-input v-model="formDialog.data.url"></el-input>
  672. </el-form-item>
  673. <el-form-item label="<?php echo __('存储字段'); ?>:">
  674. <el-input v-model="formDialog.data.keyField"></el-input>
  675. </el-form-item>
  676. <el-form-item label="<?php echo __('显示字段'); ?>:">
  677. <el-input v-model="formDialog.data.labelField"></el-input>
  678. </el-form-item>
  679. </template>
  680. <template v-if="formDialog.data.form=='select' || formDialog.data.form=='cascader' || formDialog.data.form=='selectpage'">
  681. <el-form-item label="<?php echo __('是否多选'); ?>:">
  682. <el-select v-model="formDialog.data.multiple" style="width: 100%" @change="changeForm('form')">
  683. <el-option label="<?php echo __('是'); ?>" :key="1" :value="1"></el-option>
  684. <el-option label="<?php echo __('否'); ?>" :key="0" :value="0"></el-option>
  685. </el-select>
  686. </el-form-item>
  687. </template>
  688. </el-form>
  689. </el-scrollbar>
  690. <template #footer>
  691. <span class="dialog-footer">
  692. <el-button type="info" @click="formDialog.show = false"><?php echo __('取消'); ?></el-button>
  693. <el-button type="primary" @click="confirmForm"><?php echo __('确定'); ?></el-button>
  694. </span>
  695. </template>
  696. </el-dialog>
  697. <el-dialog
  698. v-model="codeDialog.show"
  699. title="<?php echo __('生成代码'); ?>"
  700. :destroy-on-close="true"
  701. height="500"
  702. width="80%">
  703. <el-tabs type="border-card">
  704. <el-tab-pane :label="key+'文件'" v-for="(code,key) in codeDialog.row">
  705. <el-scrollbar style="height: 400px">
  706. <div v-if="key=='view'">
  707. <template v-for="(view,name) in code">
  708. <el-divider>{{name}}</el-divider>
  709. <el-input style="border: 0" autosize type="textarea" :value="view"></el-input>
  710. </template>
  711. </div>
  712. <div v-else>
  713. <el-input style="border: 0" autosize type="textarea" :value="code"></el-input>
  714. </div>
  715. </el-scrollbar>
  716. </el-tab-pane>
  717. </el-tabs>
  718. <template #footer>
  719. <el-button type="primary">
  720. 复制
  721. </el-button>
  722. </template>
  723. </el-dialog>
  724. </el-scrollbar>
  725. </el-main>
  726. </el-container>
  727. </div>
  728. </body>
  729. <script type="text/javascript" src="<?php echo request()->domain(); ?>/assets/js/yunqi.js?v=<?php echo htmlentities((string) $config['version']); ?>"></script>
  730. <script type="text/javascript">
  731. Yunqi.setConfig(<?php echo json_encode($config,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES); ?>);
  732. Yunqi.setData(<?php echo build_var_json(get_defined_vars()); ?>);
  733. Yunqi.setAuth(<?php echo json_encode($auth->getBackendAuth(),JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES); ?>);
  734. </script>
  735. <script type="module">
  736. import pageinfo from '<?php echo htmlentities((string) $config['baseUrl']); ?>ajax/js/6040d85c5cbb7c4eeeb4ecee17793cd7';
  737. import zhcn from '<?php echo request()->domain(); ?>/assets/js/zh-cn.js';
  738. try{
  739. Yunqi.setUp(pageinfo,zhcn);
  740. }catch (e){
  741. console.error(e);
  742. }
  743. </script>
  744. </html>