提交 3b5b5584 authored 作者: 王鹏飞's avatar 王鹏飞

dev-build

上级 a682a3d4
NODE_ENV=production
VUE_APP_LOGIN_API=https://e-learning3.ezijing.com
VUE_APP_BASE_API=https://lms-api.ezijing.com
......@@ -5,6 +5,7 @@
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"dev-build": "vue-cli-service build --mode dev",
"lint": "vue-cli-service lint"
},
"dependencies": {
......
public/favicon.ico

4.2 KB | W: | H:

public/favicon.ico

16.6 KB | W: | H:

public/favicon.ico
public/favicon.ico
public/favicon.ico
public/favicon.ico
  • 2-up
  • Swipe
  • Onion skin
......@@ -11,22 +11,26 @@
</template>
<div class="p-item">
<div class="p-title">审核状态:</div>
<div class="p-content is-red">{{ data.status }}</div>
<div class="p-content" :class="{ 'is-red': notPass }">
{{ statusText }}
</div>
</div>
<div class="p-item">
<div class="p-title">审核时间:</div>
<div class="p-content">{{ data.apply_time }}</div>
</div>
<div class="p-item" v-if="data.remark">
<div class="p-item" v-if="data.remark1 || data.remark2">
<div class="p-title">备注:</div>
<div class="p-content is-red">{{ data.remark }}}</div>
<div class="p-content is-red">
{{ data.remark1 || data.remark2 }}
</div>
</div>
</div>
<div class="card-aside">
<div class="card-status">
<div class="card-status" v-if="isPass">
<div class="icon-seal"></div>
</div>
<div class="card-tools">
<div class="card-tools" v-if="!isPass">
<div class="card-button" @click="onEdit">编辑</div>
<div class="card-button" @click="onRemove">删除</div>
</div>
......@@ -53,6 +57,25 @@ export default {
}
}
},
computed: {
statusText() {
const map = {
'-1': '待审核',
'0': '未通过',
'1': '通过',
'2': '通过',
'3': '未通过',
'4': '通过'
}
return map[this.data.status]
},
isPass() {
return [1, 2, 4].includes(this.data.status)
},
notPass() {
return [0, 3].includes(this.data.status)
}
},
methods: {
onEdit() {
this.$router.push({
......
......@@ -9,7 +9,7 @@
<ul class="menu-list">
<li @click="toPage({ name: 'channel' })">首页</li>
<li
v-for="item in menuList"
v-for="item in affairTypes"
:key="item.id"
@click="
toPage({
......@@ -32,13 +32,16 @@
</template>
<script>
import * as api from '@/api/index'
export default {
name: 'PageContainer',
data() {
return {
menuVisible: false,
menuList: []
menuVisible: false
}
},
computed: {
affairTypes() {
return this.$store.state.affairTypes
}
},
methods: {
......@@ -53,9 +56,9 @@ export default {
})
},
getList() {
api.getAffairType().then(response => {
this.menuList = response
})
if (!this.affairTypes.length) {
this.$store.dispatch('getAffairTypes')
}
}
},
beforeMount() {
......
......@@ -40,8 +40,7 @@ export default {
file.message = '上传失败'
}
})
.catch(error => {
console.log(error)
.catch(() => {
file.status = 'failed'
file.message = '上传失败'
})
......
......@@ -11,6 +11,9 @@ Vue.use(VueMeta)
import { Notify } from 'vant'
Vue.use(Notify)
import { Toast } from 'vant'
Vue.use(Toast)
import { Dialog } from 'vant'
Vue.use(Dialog)
......
import Vue from 'vue'
import Vuex from 'vuex'
import { getAffairType } from '@/api/index'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
menuCollapse: false
affairTypes: [] // 事务类型列表
},
mutations: {
toggleMenuCollapse(state, collapse) {
state.menuCollapse = collapse
updateAffairTypes(state, types) {
state.affairTypes = types
}
},
actions: {}
actions: {
async getAffairTypes({ commit }) {
const affairTypes = await getAffairType()
commit('updateAffairTypes', affairTypes)
}
}
})
import axios from 'axios'
import qs from 'qs'
import { Toast } from 'vant'
import { Notify } from 'vant'
import router from '@/router'
const httpRequest = axios.create({
......@@ -37,7 +37,7 @@ httpRequest.interceptors.response.use(
if (error.response) {
const { status, message } = error.response.data
if (status === 400) {
Toast({ type: 'error', message: message })
Notify({ type: 'error', message: message })
} else if (status === 403) {
router.replace({
path: '/login',
......@@ -45,7 +45,7 @@ httpRequest.interceptors.response.use(
})
}
} else {
Toast({ type: 'error', message: error })
Notify({ type: 'error', message: error })
}
return Promise.reject(error)
}
......
......@@ -3,7 +3,7 @@
<h2 class="choose-title">请选择事务</h2>
<div class="choose-list">
<van-radio-group v-model="radio">
<div class="choose-item" v-for="item in list" :key="item.value">
<div class="choose-item" v-for="item in affairTypes" :key="item.value">
<van-radio :name="item.id">{{ item.affair_name }}</van-radio>
</div>
</van-radio-group>
......@@ -16,22 +16,24 @@
</div>
</template>
<script>
import * as api from '@/api/index'
export default {
data() {
return {
list: [],
radio: ''
}
},
computed: {
affairTypes() {
return this.$store.state.affairTypes
},
currentItem() {
return this.list.find(item => item.id === this.radio)
return this.affairTypes.find(item => item.id === this.radio)
}
},
methods: {
toListPage() {
if (!this.radio) {
this.$toast('请选择事务')
return
}
this.$router.push({
......@@ -43,11 +45,12 @@ export default {
})
},
getList() {
api.getAffairType().then(response => {
let [first] = response
if (this.affairTypes.length) {
const [first] = this.affairTypes
this.radio = first.id
this.list = response
})
} else {
this.$store.dispatch('getAffairTypes')
}
}
},
beforeMount() {
......
......@@ -64,9 +64,11 @@ export default {
let data = this.$refs.form.ruleForm
data.affair_id = this.channelId
api.createAffair(data).then(() => {
this.$dialog.alert({ message: '提交成功' }).then(() => {
this.$router.push({ name: 'list', query: this.$route.query })
})
this.$dialog
.alert({ confirmButtonText: '确定', message: '提交成功' })
.then(() => {
this.$router.push({ name: 'list', query: this.$route.query })
})
})
}
}
......
......@@ -74,14 +74,22 @@ export default {
let data = this.$refs.form.ruleForm
data.affair_id = this.channelId
api.updateAffair(this.viewId, data).then(() => {
this.$dialog.alert({ message: '修改成功' }).then(() => {
this.$router.push({ name: 'list', query: this.$route.query })
})
this.$dialog
.alert({ confirmButtonText: '确定', message: '修改成功' })
.then(() => {
this.$router.push({ name: 'list', query: this.$route.query })
})
})
},
getDetail() {
const toast = this.$toast.loading({
message: '加载中...',
forbidClick: true,
duration: 0
})
api.getAffair(this.viewId).then(response => {
this.formModel = response.form
toast.clear()
})
}
},
......
......@@ -69,8 +69,14 @@ export default {
},
methods: {
getList() {
const toast = this.$toast.loading({
message: '加载中...',
forbidClick: true,
duration: 0
})
api.getAffairList({ affair_id: this.channelId }).then(response => {
this.list = response
toast.clear()
})
},
onLoad() {
......@@ -82,9 +88,8 @@ export default {
onRemove(data) {
this.$dialog
.confirm({
title: '提示',
confirmButtonText: '确定',
message: '确定删除'
message: '确定要删除吗?'
})
.then(() => {
api.deleteAffair(data.id).then(() => {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论