index.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523
  1. <script setup lang="ts">
  2. import { ref, getCurrentInstance, reactive } from "vue";
  3. import { useRouter } from "vue-router";
  4. import request, { download } from '~/utils/request';
  5. import { pick } from 'lodash-es';
  6. import { ElMessage } from 'element-plus'
  7. import type { FormInstance, FormRules } from 'element-plus'
  8. import type { AxiosRequestConfig } from 'axios'
  9. import topLeft from './components/top-left.vue'
  10. import topRight from './components/top-right.vue'
  11. // #region (constant)
  12. const TABLE_KEY = 'xhs_id'
  13. const URL_CUT = '/xdhq/hqgl_sbbx'
  14. const URL_CUT_REF = ref(URL_CUT)
  15. const URL_SUBMIT_KEY = URL_CUT.split('/').join('_').slice(1)
  16. const instance = getCurrentInstance()
  17. const router = useRouter()
  18. // #endregion
  19. // #region (variable)
  20. const loading_table = ref(true)
  21. let whichDialogSubmit: 'add' | 'edit'
  22. // #endregion
  23. // #region (type)
  24. type TYPE_TABLE_FIELD = {
  25. [TABLE_KEY]: string;
  26. 'xhs_zcbh': string; // 资产编号
  27. 'xhs_zcmc': string; // 资产名称
  28. 'xhs_wxdd': string; // 维修地点
  29. 'xhs_wxfs': string; // 维修方式
  30. 'xhs_wxjg': string; // 维修结果
  31. 'xhs_sqr': string; // 申请人
  32. 'xhs_jsr': string; // 经手人
  33. 'xhs_pzr': string; // 批准人
  34. 'xhs_wxcs': string; // 维修次数
  35. 'xhs_lb_mc': string; // 类别名称
  36. 'xhs_lb_lj': string; // 类别路径
  37. 'xhs_bxlb': string; // 报修类型
  38. 'xhs_yy': string
  39. }
  40. // #endregion
  41. // #region (props)
  42. // #endregion
  43. // #region (query row)
  44. const queryForm_Data = ref<Partial<TYPE_TABLE_FIELD> & { keyword?: string }>({})
  45. const handleQueryFormBtn_search = () => {
  46. queryApi()
  47. }
  48. const handleQueryFormBtn_clear = () => {
  49. queryForm_Data.value = {}
  50. queryApi();
  51. }
  52. // #endregion
  53. // #region (table selection)
  54. const multipleSelection = ref<TYPE_TABLE_FIELD[]>([])
  55. const handleSelectionChange = (val: TYPE_TABLE_FIELD[]) => {
  56. multipleSelection.value = val
  57. }
  58. // #endregion
  59. // #region (table row)
  60. const handleTableRowBtn_import = async ({ file }: { file: File }) => {
  61. const res = await API_MAP['import']({ file })
  62. if (res.code === '1') {
  63. queryApi()
  64. ElMessage.success(res.msg)
  65. }
  66. }
  67. const handleTableRowBtn_export = () => {
  68. if (multipleSelection.value.length === 0) return ElMessage.info('请先勾选导出文件'); exportApi({ [TABLE_KEY]: multipleSelection.value.map((item: TYPE_TABLE_FIELD) => item[TABLE_KEY])?.join() })
  69. }
  70. const handleTableRowBtn_add = () => {
  71. whichDialogSubmit = 'add'
  72. dialogForm_Data.value = {}
  73. dialogVisible_addOrEdit.value = true
  74. }
  75. const handleTableRowBtn_delete = async () => {
  76. if (multipleSelection.value.length === 0) return ElMessage.info('请先勾选文件'); const resp = await deleteApi(multipleSelection.value.map((item: TYPE_TABLE_FIELD) => item[TABLE_KEY])); if (resp.code !== '1') return; ElMessage.success('删除成功');
  77. queryApi()
  78. }
  79. // #endregion
  80. // #region (table body)
  81. const tableData = ref<TYPE_TABLE_FIELD[]>([])
  82. const DetailName = '-SBBX-DETAIL'
  83. const DetailParam = 'aid'
  84. const handleTableColBtn_edit = async (scope: { row: TYPE_TABLE_FIELD }) => {
  85. whichDialogSubmit = 'edit'
  86. const res = await detailApi(scope.row[TABLE_KEY])
  87. dialogForm_Data.value = (res.data.one_info)
  88. dialogVisible_addOrEdit.value = true
  89. }
  90. const handleTableColBtn_audit = (scope: { row: TYPE_TABLE_FIELD }) => {
  91. whichDialogSubmit = 'edit'
  92. dialogForm_Data.value = pick(scope.row, [`${TABLE_KEY}`, ...Object.keys(dialogForm_Rules_audit)])
  93. dialogVisible_audit.value = true
  94. }
  95. const handleTableColBtn_audit2 = (scope: { row: TYPE_TABLE_FIELD }) => {
  96. whichDialogSubmit = 'edit'
  97. dialogForm_Data.value = pick(scope.row, [`${TABLE_KEY}`, ...Object.keys(dialogForm_Rules_audit)])
  98. dialogVisible_audit2.value = true
  99. }
  100. const handleTableColBtn_detail = (scope: { row: TYPE_TABLE_FIELD }) => {
  101. router.push({ name: DetailName, params: { [DetailParam]: scope.row[TABLE_KEY] } })
  102. }
  103. const handleTableColBtn_delete = async (scope: { row: TYPE_TABLE_FIELD }) => {
  104. const resp = await deleteApi(scope.row[TABLE_KEY]); if (resp.code !== '1') return; ElMessage.success('删除成功');
  105. queryApi()
  106. }
  107. const handleTableColBtn_drop = async (scope: { row: TYPE_TABLE_FIELD }) => {
  108. await editApi({ [TABLE_KEY]: scope.row[TABLE_KEY], xhs_wxjg: '3' })
  109. queryApi()
  110. }
  111. // #endregion
  112. // #region (pagination)
  113. const total = ref(0)
  114. const limit = ref(5)
  115. const currentPage = ref(1)
  116. function handleCurrentChange() {
  117. queryApi()
  118. }
  119. // #endregion
  120. // #region (dialog base)
  121. const dialogForm_Data = ref<Partial<TYPE_TABLE_FIELD> & { keyword?: string }>({})
  122. const handleDialogFormBtn_submit = async (formRefKey: string, extendData?: Partial<TYPE_TABLE_FIELD>) => {
  123. const isValid = await (instance?.refs[formRefKey] as FormInstance).validate((valid: boolean) => valid)
  124. if (isValid) {
  125. const resp = await API_MAP[whichDialogSubmit](<TYPE_TABLE_FIELD>({ ...dialogForm_Data.value, ...extendData }))
  126. if (resp.code !== '1') return; ElMessage.success('操作成功'); handleDialogFormBtn_cancel()
  127. queryApi()
  128. }
  129. }
  130. const handleDialogFormBtn_cancel = (formRefKey?: string) => {
  131. dialogVisible_addOrEdit.value = false
  132. dialogVisible_audit.value = false
  133. dialogVisible_audit2.value = false
  134. }
  135. // #endregion
  136. // #region (dialog add/edit)
  137. const dialogVisible_addOrEdit = ref<boolean>(false)
  138. const dialogForm_Ref_addOrEdit = ref<FormInstance>()
  139. const dialogForm_Rules_addOrEdit = reactive({
  140. 'xhs_zcbh': { required: true, message: '资产编号不能为空', trigger: 'submit' },
  141. 'xhs_zcmc': { required: true, message: '资产名称不能为空', trigger: 'submit' },
  142. 'xhs_wxdd': { required: true, message: '维修地点不能为空', trigger: 'submit' },
  143. 'xhs_wxfs': { required: true, message: '维修方式不能为空', trigger: 'submit' },
  144. 'xhs_wxjg': { required: true, message: '维修结果不能为空', trigger: 'submit' },
  145. 'xhs_sqr': { required: true, message: '申请人不能为空', trigger: 'submit' },
  146. 'xhs_jsr': { required: true, message: '经手人不能为空', trigger: 'submit' },
  147. 'xhs_pzr': { required: true, message: '批准人不能为空', trigger: 'submit' },
  148. 'xhs_wxcs': { required: true, message: '维修次数不能为空', trigger: 'submit' },
  149. 'xhs_lb_mc': { required: true, message: '类别名称不能为空', trigger: 'submit' },
  150. 'xhs_lb_lj': { required: true, message: '类别路径不能为空', trigger: 'submit' },
  151. 'xhs_bxlb': { required: true, message: '报修类型不能为空', trigger: 'submit' },
  152. })
  153. // #endregion
  154. // #region (dialog audit)
  155. const dialogVisible_audit = ref<boolean>(false)
  156. const dialogVisible_audit2 = ref<boolean>(false)
  157. const dialogForm_Field_audit = reactive<{
  158. FLAG: keyof TYPE_TABLE_FIELD,
  159. REASON: keyof TYPE_TABLE_FIELD
  160. }>({
  161. FLAG: 'xhs_wxjg',
  162. REASON: 'xhs_yy'
  163. })
  164. const dialogForm_Ref_audit = ref<FormInstance>()
  165. const dialogForm_Ref_audit2 = ref<FormInstance>()
  166. const dialogForm_Rules_audit = reactive<FormRules>({
  167. // 'xhs_zcbh': { required: true, message: '资产编号不能为空', trigger: 'submit' },
  168. // 'xhs_zcmc': { required: true, message: '资产名称不能为空', trigger: 'submit' },
  169. // 'xhs_wxdd': { required: true, message: '维修地点不能为空', trigger: 'submit' },
  170. // 'xhs_wxfs': { required: true, message: '维修方式不能为空', trigger: 'submit' },
  171. 'xhs_wxjg': { required: true, message: '维修结果不能为空', trigger: 'submit' },
  172. // 'xhs_sqr': { required: true, message: '申请人不能为空', trigger: 'submit' },
  173. // 'xhs_jsr': { required: true, message: '经手人不能为空', trigger: 'submit' },
  174. // 'xhs_pzr': { required: true, message: '批准人不能为空', trigger: 'submit' },
  175. // 'xhs_wxcs': { required: true, message: '维修次数不能为空', trigger: 'submit' },
  176. // 'xhs_lb_mc': { required: true, message: '类别名称不能为空', trigger: 'submit' },
  177. // 'xhs_lb_lj': { required: true, message: '类别路径不能为空', trigger: 'submit' },
  178. // 'xhs_bxlb': { required: true, message: '报修类型不能为空', trigger: 'submit' },
  179. })
  180. // #endregion
  181. // #region (request api):
  182. function queryApi() {
  183. loading_table.value = true
  184. return request({
  185. url: URL_CUT + '/index',
  186. data: {
  187. ...queryForm_Data.value,
  188. limit: limit.value,
  189. page: currentPage.value
  190. }
  191. }).then((response: { data: { total_rows: string, page_data: TYPE_TABLE_FIELD[] } }) => {
  192. const { data } = response
  193. total.value = parseInt(data.total_rows)
  194. tableData.value = data.page_data
  195. return response
  196. }).then(() => {
  197. loading_table.value = false
  198. })
  199. }
  200. function addApi(data: TYPE_TABLE_FIELD) {
  201. return request({
  202. url: URL_CUT + '/add',
  203. data: {
  204. [URL_SUBMIT_KEY]: data,
  205. }
  206. })
  207. }
  208. function editApi(data: Partial<TYPE_TABLE_FIELD>) {
  209. return request({
  210. url: URL_CUT + '/edit',
  211. data: {
  212. [TABLE_KEY]: data[TABLE_KEY],
  213. [URL_SUBMIT_KEY]: pick(data, ['xhs_zcbh', 'xhs_zcmc', 'xhs_wxdd', 'xhs_wxfs', 'xhs_wxjg', 'xhs_sqr', 'xhs_jsr', 'xhs_pzr', 'xhs_wxcs', 'xhs_lb_mc', 'xhs_lb_lj', 'xhs_bxlb', 'xhs_yy']),
  214. }
  215. })
  216. }
  217. function deleteApi(id: string | string[]) {
  218. return request({
  219. url: URL_CUT + '/delete',
  220. data: {
  221. [TABLE_KEY]: id,
  222. }
  223. })
  224. }
  225. function detailApi(id: string) {
  226. return request({
  227. url: URL_CUT + '/detail',
  228. data: {
  229. [TABLE_KEY]: id,
  230. }
  231. })
  232. }
  233. function importApi(data: { file: File }) {
  234. return request({
  235. $type: 'import',
  236. url: URL_CUT + '/import',
  237. data
  238. } as AxiosRequestConfig)
  239. }
  240. function exportApi(d) {
  241. return download(URL_CUT + '/index', { ...queryForm_Data.value, ...d })
  242. }
  243. const API_MAP = {
  244. query: queryApi,
  245. add: addApi,
  246. edit: editApi,
  247. delete: deleteApi,
  248. detail: detailApi,
  249. import: importApi,
  250. export: exportApi,
  251. }
  252. // #endregion
  253. // #region (page init)
  254. const echartsData = ref()
  255. const echartsLoading = ref(true)
  256. function init() {
  257. queryApi()
  258. request({ url: '/xdhq/hqgl_sbbx_stat/alyz' }).then(res => {
  259. echartsData.value = res.data
  260. echartsLoading.value = false
  261. })
  262. }
  263. init()
  264. // #endregion
  265. </script>
  266. <template>
  267. <div class="mb-4 flex justify-between w-full h-232px">
  268. <template v-if="!echartsLoading">
  269. <topLeft :data="echartsData.wxgl"></topLeft>
  270. <div class="w-4"></div>
  271. <topRight :data="echartsData.sbwxqs"></topRight>
  272. </template>
  273. </div>
  274. <div class="card flex-grow flex flex-col">
  275. <div class="flex justify-between">
  276. <div>
  277. <!-- <import-button @success="queryApi" :url="URL_CUT_REF"></import-button> -->
  278. <el-button @click="handleTableRowBtn_export" type="primary">导出</el-button>
  279. <el-button @click="handleTableRowBtn_add" type="primary">设备报修</el-button>
  280. <el-button @click="handleTableRowBtn_delete" type="danger">删除</el-button>
  281. </div>
  282. <el-form inline :model="queryForm_Data">
  283. <!-- <el-form-item label="关键字"><el-input v-model="queryForm_Data.keyword" ></el-input></el-form-item> -->
  284. <!-- <el-form-item label="资产编号">
  285. <el-input v-model="queryForm_Data.xhs_zcbh" clearable />
  286. </el-form-item> -->
  287. <el-form-item>
  288. <el-input placeholder="资产名称" v-model="queryForm_Data.xhs_zcmc" clearable />
  289. </el-form-item>
  290. <el-form-item>
  291. <el-input placeholder="维修地点" v-model="queryForm_Data.xhs_wxdd" clearable />
  292. </el-form-item>
  293. <!-- <el-form-item label="维修方式">
  294. <el-input v-model="queryForm_Data.xhs_wxfs" clearable />
  295. </el-form-item>
  296. <el-form-item label="维修结果">
  297. <el-select v-model="queryForm_Data.xhs_wxjg" clearable filterable>
  298. <el-option label="已维修" value="1" />
  299. <el-option label="待维修" value="2" />
  300. <el-option label="已报废" value="3" />
  301. </el-select>
  302. </el-form-item> -->
  303. <el-form-item>
  304. <el-input placeholder="申请人" v-model="queryForm_Data.xhs_sqr" clearable />
  305. </el-form-item>
  306. <!-- <el-form-item label="经手人">
  307. <el-input v-model="queryForm_Data.xhs_jsr" clearable />
  308. </el-form-item>
  309. <el-form-item label="批准人">
  310. <el-input v-model="queryForm_Data.xhs_pzr" clearable />
  311. </el-form-item>
  312. <el-form-item label="维修次数">
  313. <el-input v-model="queryForm_Data.xhs_wxcs" clearable />
  314. </el-form-item>
  315. <el-form-item label="类别名称">
  316. <el-input v-model="queryForm_Data.xhs_lb_mc" clearable />
  317. </el-form-item>
  318. <el-form-item label="类别路径">
  319. <el-input v-model="queryForm_Data.xhs_lb_lj" clearable />
  320. </el-form-item>
  321. <el-form-item label="报修类型">
  322. <el-select v-model="queryForm_Data.xhs_bxlb" clearable filterable>
  323. <el-option label="电脑" value="1" />
  324. <el-option label="多媒体" value="2" />
  325. <el-option label="平台软件" value="3" />
  326. <el-option label="门窗五金" value="4" />
  327. <el-option label="水暖电气" value="5" />
  328. <el-option label="其他" value="6" />
  329. </el-select>
  330. </el-form-item> -->
  331. <el-form-item>
  332. <el-button @click="handleQueryFormBtn_search" type="primary">搜索</el-button>
  333. <!-- <el-button @click="handleQueryFormBtn_clear" type="warning">清空</el-button> -->
  334. </el-form-item>
  335. </el-form>
  336. </div>
  337. <div class="divider"></div>
  338. <div class="flex-auto">
  339. <el-table :data="tableData" @selection-change="handleSelectionChange" v-loading="loading_table"
  340. element-loading-background="#ffffff70">
  341. <el-table-column type="selection"></el-table-column>
  342. <!-- <el-table-column prop="xhs_zcbh" label="资产编号" width="auto" show-overflow-tooltip></el-table-column> -->
  343. <el-table-column prop="xhs_zcmc" label="资产名称" width="auto" show-overflow-tooltip></el-table-column>
  344. <el-table-column prop="xhs_bxlb" label="报修类型" width="auto" show-overflow-tooltip></el-table-column>
  345. <el-table-column prop="xhs_wxdd" label="维修地点" width="auto" show-overflow-tooltip></el-table-column>
  346. <el-table-column prop="xhs_wxfs" label="维修方式" width="auto" show-overflow-tooltip></el-table-column>
  347. <el-table-column prop="xhs_wxjg" label="维修结果" width="auto" show-overflow-tooltip>
  348. <template #default="scope">
  349. <span v-if="scope.row.xhs_wxjg_option_k === '1'" class="text-green-500"> {{ scope.row.xhs_wxjg }}</span>
  350. <span v-else-if="scope.row.xhs_wxjg_option_k === '3'" class="text-red-500"> {{ scope.row.xhs_wxjg }}</span>
  351. <span v-else> {{ scope.row.xhs_wxjg }}</span>
  352. </template>
  353. </el-table-column>
  354. <el-table-column prop="xhs_sqr" label="申请人" width="auto" show-overflow-tooltip></el-table-column>
  355. <el-table-column prop="xhs_jsr" label="经手人" width="auto" show-overflow-tooltip></el-table-column>
  356. <el-table-column prop="xhs_pzr" label="批准人" width="auto" show-overflow-tooltip></el-table-column>
  357. <el-table-column prop="xhs_wxcs" label="维修次数" width="auto" show-overflow-tooltip>
  358. <template #default="scope">
  359. <!-- <el-link type="primary" @click="router.push({ name: '-SBBX-BXW', params: { aid: scope.row.xhs_zcbh } })"> {{
  360. scope.row.xhs_wxcs
  361. }}次</el-link> -->
  362. <span> {{
  363. scope.row.xhs_wxcs
  364. }}次</span>
  365. </template>
  366. </el-table-column>
  367. <!-- <el-table-column prop="xhs_lb_mc" label="类别名称" width="auto" show-overflow-tooltip></el-table-column>
  368. <el-table-column prop="xhs_lb_lj" label="类别路径" width="auto" show-overflow-tooltip></el-table-column> -->
  369. <el-table-column label="操作" fixed="right" width="160">
  370. <template #default="scope">
  371. <!-- <el-button link :auto-insert-space="false" @click="handleTableColBtn_edit(scope)" type="primary">编辑
  372. </el-button>
  373. <el-button link :auto-insert-space="false" @click="handleTableColBtn_audit(scope)" type="primary">审核
  374. </el-button>
  375. <el-button link :auto-insert-space="false" @click="handleTableColBtn_detail(scope)" type="primary">详情
  376. </el-button>
  377. <el-button link :auto-insert-space="false" @click="handleTableColBtn_delete(scope)" type="primary">删除
  378. </el-button> -->
  379. <el-button link :auto-insert-space="false" @click="handleTableColBtn_audit(scope)" type="primary">已修
  380. </el-button>
  381. <el-button link :auto-insert-space="false" @click="handleTableColBtn_audit2(scope)" type="primary">未修
  382. </el-button>
  383. <el-button link :auto-insert-space="false" @click="handleTableColBtn_drop(scope)" type="primary">报废
  384. </el-button>
  385. </template>
  386. </el-table-column>
  387. </el-table>
  388. </div>
  389. <div class="flex justify-end mt-10 py-4">
  390. <el-pagination :page-size="limit" v-model:current-page="currentPage" @current-change="handleCurrentChange"
  391. background layout="total, prev, pager, next" :total="total" />
  392. </div>
  393. </div>
  394. <el-dialog v-model="dialogVisible_addOrEdit" append-to-body destroy-on-close>
  395. <el-form :model="dialogForm_Data" ref="dialogForm_Ref_addOrEdit" :rules="dialogForm_Rules_addOrEdit"
  396. label-width="120px">
  397. <!-- <el-form-item label="资产编号" prop="xhs_zcbh">
  398. <el-input v-model="dialogForm_Data.xhs_zcbh" clearable />
  399. </el-form-item> -->
  400. <el-form-item label="资产名称" prop="xhs_zcmc">
  401. <!-- <el-input v-model="dialogForm_Data.xhs_zcmc" clearable /> -->
  402. <remote-select url="/xdhq/hqgl_xcgl/index" :fields="['xhx_zcbh', 'xhx_zcmc']" v-model="dialogForm_Data.xhs_zcbh"
  403. v-model:modelName="dialogForm_Data.xhs_zcmc"></remote-select>
  404. </el-form-item>
  405. <el-form-item label="维修地点" prop="xhs_wxdd">
  406. <el-input v-model="dialogForm_Data.xhs_wxdd" clearable />
  407. </el-form-item>
  408. <el-form-item label="维修方式" prop="xhs_wxfs">
  409. <el-input v-model="dialogForm_Data.xhs_wxfs" clearable />
  410. </el-form-item>
  411. <!-- <el-form-item label="维修结果" prop="xhs_wxjg">
  412. <el-radio-group v-model="dialogForm_Data.xhs_wxjg">
  413. <el-radio label="1">已维修</el-radio>
  414. <el-radio label="2">待维修</el-radio>
  415. <el-radio label="3">已报废</el-radio>
  416. </el-radio-group>
  417. </el-form-item> -->
  418. <el-form-item label="申请人" prop="xhs_sqr">
  419. <el-input v-model="dialogForm_Data.xhs_sqr" clearable />
  420. </el-form-item>
  421. <el-form-item label="经手人" prop="xhs_jsr">
  422. <el-input v-model="dialogForm_Data.xhs_jsr" clearable />
  423. </el-form-item>
  424. <el-form-item label="批准人" prop="xhs_pzr">
  425. <el-input v-model="dialogForm_Data.xhs_pzr" clearable />
  426. </el-form-item>
  427. <el-form-item label="维修次数" prop="xhs_wxcs">
  428. <el-input v-model="dialogForm_Data.xhs_wxcs" clearable />
  429. </el-form-item>
  430. <!-- <el-form-item label="类别名称" prop="xhs_lb_mc">
  431. <el-input v-model="dialogForm_Data.xhs_lb_mc" clearable />
  432. </el-form-item>
  433. <el-form-item label="类别路径" prop="xhs_lb_lj">
  434. <el-input v-model="dialogForm_Data.xhs_lb_lj" clearable />
  435. </el-form-item> -->
  436. <el-form-item label="报修类型" prop="xhs_bxlb">
  437. <!-- <el-select v-model="dialogForm_Data.xhs_bxlb" clearable filterable>
  438. <el-option label="电脑" value="1" />
  439. <el-option label="多媒体" value="2" />
  440. <el-option label="平台软件" value="3" />
  441. <el-option label="门窗五金" value="4" />
  442. <el-option label="水暖电气" value="5" />
  443. <el-option label="其他" value="6" />
  444. </el-select> -->
  445. <remote-dictionary-select to="BXLB" v-model="dialogForm_Data.xhs_bxlb"></remote-dictionary-select>
  446. </el-form-item>
  447. <div class="flex justify-center">
  448. <el-button @click="handleDialogFormBtn_submit('dialogForm_Ref_addOrEdit', { xhs_wxjg: '2' })" type="primary">提交
  449. </el-button>
  450. <el-button @click="handleDialogFormBtn_cancel('dialogForm_Ref_addOrEdit')" type="default">取消</el-button>
  451. </div>
  452. </el-form>
  453. </el-dialog>
  454. <el-dialog v-model="dialogVisible_audit" append-to-body destroy-on-close>
  455. <el-form :model="dialogForm_Data" ref="dialogForm_Ref_audit" :rules="dialogForm_Rules_audit" label-width="120px">
  456. <el-form-item label="状态">
  457. <el-radio-group v-model="dialogForm_Data[dialogForm_Field_audit.FLAG]">
  458. <el-radio label="1">成功</el-radio>
  459. <el-radio label="2">失败</el-radio>
  460. </el-radio-group>
  461. </el-form-item>
  462. <el-form-item label="原因" v-show="dialogForm_Data[dialogForm_Field_audit.FLAG] === '2'">
  463. <el-input type="textarea" v-model="dialogForm_Data[dialogForm_Field_audit.REASON]" :rows="5" />
  464. </el-form-item>
  465. <div class="flex justify-center">
  466. <el-button @click="handleDialogFormBtn_submit('dialogForm_Ref_audit')" type="primary">提交</el-button>
  467. <el-button @click="handleDialogFormBtn_cancel('dialogForm_Ref_audit')" type="default">取消</el-button>
  468. </div>
  469. </el-form>
  470. </el-dialog>
  471. <el-dialog v-model="dialogVisible_audit2" append-to-body destroy-on-close>
  472. <el-form :model="dialogForm_Data" ref="dialogForm_Ref_audit2" :rules="dialogForm_Rules_audit" label-width="120px">
  473. <el-form-item label="原因">
  474. <el-input type="textarea" v-model="dialogForm_Data[dialogForm_Field_audit.REASON]" :rows="5" />
  475. </el-form-item>
  476. <div class="flex justify-center">
  477. <el-button @click="handleDialogFormBtn_submit('dialogForm_Ref_audit2', { [dialogForm_Field_audit.FLAG]: '2' })"
  478. type="primary">提交</el-button>
  479. <el-button @click="handleDialogFormBtn_cancel('dialogForm_Ref_audit2')" type="default">取消</el-button>
  480. </div>
  481. </el-form>
  482. </el-dialog>
  483. </template>